Skip to content

feat: support geometry and geography types - #2933

Draft
wirybeaver wants to merge 2 commits into
apache:mainfrom
wirybeaver:support-geometry-geography-types
Draft

feat: support geometry and geography types#2933
wirybeaver wants to merge 2 commits into
apache:mainfrom
wirybeaver:support-geometry-geography-types

Conversation

@wirybeaver

Copy link
Copy Markdown

Summary

This draft PR adds Iceberg Geometry/Geography primitive type support by reusing arrow-rs/parquet-geospatial support instead of introducing a local geospatial model.

  • Adds GeometryType and GeographyType with an Iceberg-owned EdgeInterpolationAlgorithm, translating to parquet_geospatial::WkbEdges at the Arrow boundary.
  • Converts Geometry/Geography to Arrow WKB extension metadata and enables Parquet geospatial logical type writing.
  • Maps Avro, Glue, and HMS representations to bytes/binary.
  • Rejects non-null JSON defaults, blocks unsupported partition transforms, and skips byte min/max statistics for spatial values.

Related issues

Related to #2411 and #1884.

Supersedes #2653, which was closed automatically by the stale bot. Existing review discussion remains available there.

@wirybeaver wirybeaver mentioned this pull request Jul 31, 2026
@brgr-s

brgr-s commented Jul 31, 2026

Copy link
Copy Markdown

In case you are interested, PR #2019 (CLOSED as stale) also has code related to geo types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants